package com.wyzz.hr.pojo.base;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.*;

import com.wyzz.hr.pojo.Leaverequest;
import com.wyzz.hr.pojo.Leavetype;

public abstract class BaseLeavetype implements Serializable {

	public BaseLeavetype() {
		hashCode = 0x80000000;
		initialize();
	}

	public BaseLeavetype(String ltNo) {
		hashCode = 0x80000000;
		setLtNo(ltNo);
		initialize();
	}

	public BaseLeavetype(String ltNo, String ltName, String ltDesc,
			Integer ltInclHoliday, Integer ltAnnual, Integer ltSortId) {
		hashCode = 0x80000000;
		setLtNo(ltNo);
		setLtName(ltName);
		setLtDesc(ltDesc);
		setLtInclHoliday(ltInclHoliday);
		setLtSpecialCat(ltAnnual);
		setLtSortId(ltSortId);
		initialize();
	}

	protected void initialize() {
	}

	public String getLtNo() {
		return ltNo;
	}

	public void setLtNo(String ltNo) {
		this.ltNo = ltNo;
		hashCode = 0x80000000;
	}

	public String getLtName() {
		return ltName;
	}

	public void setLtName(String ltName) {
		this.ltName = ltName;
	}

	public String getLtDesc() {
		return ltDesc;
	}

	public void setLtDesc(String ltDesc) {
		this.ltDesc = ltDesc;
	}

	public BigDecimal getLtMaxApplyDays() {
		return ltMaxApplyDays;
	}

	public void setLtMaxApplyDays(BigDecimal ltMaxApplyDays) {
		this.ltMaxApplyDays = ltMaxApplyDays;
	}

	public Integer getLtInclHoliday() {
		return ltInclHoliday;
	}

	public void setLtInclHoliday(Integer ltInclHoliday) {
		this.ltInclHoliday = ltInclHoliday;
	}

	public Integer getLtSpecialCat() {
		return ltSpecialCat;
	}

	public void setLtSpecialCat(Integer ltSpecialCat) {
		this.ltSpecialCat = ltSpecialCat;
	}

	public Integer getLtSortId() {
		return ltSortId;
	}

	public void setLtSortId(Integer ltSortId) {
		this.ltSortId = ltSortId;
	}

	public Set getLeaverequests() {
		return leaverequests;
	}

	public void setLeaverequests(Set leaverequests) {
		this.leaverequests = leaverequests;
	}

	public void addToleaverequests(Leaverequest leaverequest) {
		if (null == getLeaverequests())
			setLeaverequests(new TreeSet());
		getLeaverequests().add(leaverequest);
	}

	public boolean equals(Object obj) {
		if (null == obj)
			return false;
		if (!(obj instanceof Leavetype))
			return false;
		Leavetype leavetype = (Leavetype) obj;
		if (null == getLtNo() || null == leavetype.getLtNo())
			return false;
		else
			return getLtNo().equals(leavetype.getLtNo());
	}

	public int hashCode() {
		if (0x80000000 == hashCode) {
			if (null == getLtNo())
				return super.hashCode();
			String hashStr = (new StringBuilder()).append(getClass().getName())
					.append(":").append(getLtNo().hashCode()).toString();
			hashCode = hashStr.hashCode();
		}
		return hashCode;
	}

	public BigDecimal getLtMaxApplyHours() {
		return ltMaxApplyHours;
	}

	public void setLtMaxApplyHours(BigDecimal ltMaxApplyHours) {
		this.ltMaxApplyHours = ltMaxApplyHours;
	}

	public Date getLtBalForward() {
		return ltBalForward;
	}

	public void setLtBalForward(Date ltBalForward) {
		this.ltBalForward = ltBalForward;
	}

	public BigDecimal getLtBalForwardDayLimit() {
		return ltBalForwardDayLimit;
	}

	public void setLtBalForwardDayLimit(BigDecimal ltBalForwardDayLimit) {
		this.ltBalForwardDayLimit = ltBalForwardDayLimit;
	}

	public BigDecimal getLtBalForwardHourLimit() {
		return ltBalForwardHourLimit;
	}

	public void setLtBalForwardHourLimit(BigDecimal ltBalForwardHourLimit) {
		this.ltBalForwardHourLimit = ltBalForwardHourLimit;
	}

	public BigDecimal getLtBalForwardPerLimit() {
		return ltBalForwardPerLimit;
	}

	public void setLtBalForwardPerLimit(BigDecimal ltBalForwardPerLimit) {
		this.ltBalForwardPerLimit = ltBalForwardPerLimit;
	}

	public Integer getLtBalForwardRounding() {
		return ltBalForwardRounding;
	}

	public void setLtBalForwardRounding(Integer ltBalForwardRounding) {
		this.ltBalForwardRounding = ltBalForwardRounding;
	}

	public String getLtDaysOfYear() {
		return ltDaysOfYear;
	}

	public void setLtDaysOfYear(String ltDaysOfYear) {
		this.ltDaysOfYear = ltDaysOfYear;
	}

	public String getLtHoursOfYear() {
		return ltHoursOfYear;
	}

	public void setLtHoursOfYear(String ltHoursOfYear) {
		this.ltHoursOfYear = ltHoursOfYear;
	}

	public String getLtDaysForRelease() {
		return ltDaysForRelease;
	}

	public void setLtDaysForRelease(String ltDaysForRelease) {
		this.ltDaysForRelease = ltDaysForRelease;
	}

	public String getLtHoursForRelease() {
		return ltHoursForRelease;
	}

	public void setLtHoursForRelease(String ltHoursForRelease) {
		this.ltHoursForRelease = ltHoursForRelease;
	}

	public String getLtReleaseMethod() {
		return ltReleaseMethod;
	}

	public void setLtReleaseMethod(String ltReleaseMethod) {
		this.ltReleaseMethod = ltReleaseMethod;
	}

	public Integer getLtReleaseRounding() {
		return ltReleaseRounding;
	}

	public void setLtReleaseRounding(Integer ltReleaseRounding) {
		this.ltReleaseRounding = ltReleaseRounding;
	}

	public String getLtOtherParameter() {
		return ltOtherParameter;
	}

	public void setLtOtherParameter(String ltOtherParameter) {
		this.ltOtherParameter = ltOtherParameter;
	}

	public String toString() {
		return super.toString();
	}

	public Integer getLtNeedComments() {
		return ltNeedComments;
	}

	public void setLtNeedComments(Integer ltNeedComments) {
		this.ltNeedComments = ltNeedComments;
	}

	public BigDecimal getLtMinApplyDays() {
		return ltMinApplyDays;
	}

	public void setLtMinApplyDays(BigDecimal ltMinApplyDays) {
		this.ltMinApplyDays = ltMinApplyDays;
	}

	public BigDecimal getLtMinApplyHours() {
		return ltMinApplyHours;
	}

	public void setLtMinApplyHours(BigDecimal ltMinApplyHours) {
		this.ltMinApplyHours = ltMinApplyHours;
	}

	public Integer getLtApplyByDay() {
		return ltApplyByDay;
	}

	public void setLtApplyByDay(Integer ltApplyByDay) {
		this.ltApplyByDay = ltApplyByDay;
	}

	public static String REF = "Leavetype";
	public static String PROP_LT_MAX_APPLY_DAYS = "ltMaxApplyDays";
	public static String PROP_LT_MAX_APPLY_HOURS = "ltMaxApplyHours";
	public static String PROP_LT_MIN_APPLY_DAYS = "ltMinApplyDays";
	public static String PROP_LT_MIN_APPLY_HOURS = "ltMinApplyHours";
	public static String PROP_LT_NO = "ltNo";
	public static String PROP_LT_SPECIAL_CAT = "ltSpecialCat";
	public static String PROP_LT_DESC = "ltDesc";
	public static String PROP_LT_SORT_ID = "ltSortId";
	public static String PROP_LT_INCL_HOLIDAY = "ltInclHoliday";
	public static String PROP_LT_NAME = "ltName";
	public static String PROP_LT_APPLY_BY_DAY = "ltApplyByDay";
	public static final int ANNUAL_LEAVE = 1;
	public static final int TIAOXIU_NOEXP = 10;
	public static final int PAID_SICK_LEAVE = 5;
	private int hashCode;
	private String ltNo;
	private String ltName;
	private String ltDesc;
	private BigDecimal ltMinApplyDays;
	private BigDecimal ltMinApplyHours;
	private BigDecimal ltMaxApplyDays;
	private BigDecimal ltMaxApplyHours;
	private Date ltBalForward;
	private BigDecimal ltBalForwardDayLimit;
	private BigDecimal ltBalForwardHourLimit;
	private BigDecimal ltBalForwardPerLimit;
	private Integer ltBalForwardRounding;
	private String ltDaysOfYear;
	private String ltHoursOfYear;
	private String ltDaysForRelease;
	private String ltHoursForRelease;
	private String ltReleaseMethod;
	private Integer ltReleaseRounding;
	private String ltOtherParameter;
	private Integer ltNeedComments;
	private Integer ltApplyByDay;
	private Integer ltInclHoliday;
	private Integer ltSpecialCat;
	private Integer ltSortId;
	private Set leaverequests;

}
